﻿/*
# -*- coding: utf-8 -*-
# 注意：

# 若希望将本代码用于商业用途，需先联系作者并获得明确授权。
# 作者不对因使用本代码引发的任何直接或间接损失负责。
# 如有违反上述条款的行为，作者保留追究法律责任的权利。

# 免责声明：
# 请尊重知识产权，遵循相关法律法规。

# Notice:
# If you wish to use this code for commercial purposes, you must contact the author and obtain explicit authorization.
# The author is not responsible for any direct or indirect losses caused by the use of this code.
# If any of the above terms are violated, the author reserves the right to pursue legal action.
# Disclaimer:
# Please respect intellectual property rights and comply with relevant laws and regulations.

# Внимание:
# Если вы хотите использовать этот код в коммерческих целях, вам необходимо связаться с автором и получить явное разрешение.
# Автор не несет ответственности за любые прямые или косвенные убытки, возникшие в результате использования этого кода.
# В случае нарушения вышеуказанных условий автор оставляет за собой право на юридическое преследование.
# Отказ от ответственности:
# Пожалуйста, уважайте интеллектуальную собственность и соблюдайте соответствующие законы и нормативные акты.

# Attention :
# Si vous souhaitez utiliser ce code à des fins commerciales, vous devez contacter l'auteur et obtenir une autorisation explicite.
# L'auteur n'est pas responsable des pertes directes ou indirectes causées par l'utilisation de ce code.
# En cas de violation des conditions ci-dessus, l'auteur se réserve le droit de poursuivre une action en justice.
# Avertissement :
# Veuillez respecter les droits de propriété intellectuelle et vous conformer aux lois et réglementations en vigueur.

# 注意：

# 若希望将本代码用于商业用途，需先联系作者并获得明确授权。
# 作者不对因使用本代码引发的任何直接或间接损失负责。
# 如有违反上述条款的行为，作者保留追究法律责任的权利。

# 免责声明：
# 请尊重知识产权，遵循相关法律法规。

# Notice:
# If you wish to use this code for commercial purposes, you must contact the author and obtain explicit authorization.
# The author is not responsible for any direct or indirect losses caused by the use of this code.
# If any of the above terms are violated, the author reserves the right to pursue legal action.
# Disclaimer:
# Please respect intellectual property rights and comply with relevant laws and regulations.

# Внимание:
# Если вы хотите использовать этот код в коммерческих целях, вам необходимо связаться с автором и получить явное разрешение.
# Автор не несет ответственности за любые прямые или косвенные убытки, возникшие в результате использования этого кода.
# В случае нарушения вышеуказанных условий автор оставляет за собой право на юридическое преследование.
# Отказ от ответственности:
# Пожалуйста, уважайте интеллектуальную собственность и соблюдайте соответствующие законы и нормативные акты.

# Attention :
# Si vous souhaitez utiliser ce code à des fins commerciales, vous devez contacter l'auteur et obtenir une autorisation explicite.
# L'auteur n'est pas responsable des pertes directes ou indirectes causées par l'utilisation de ce code.
# En cas de violation des conditions ci-dessus, l'auteur se réserve le droit de poursuivre une action en justice.
# Avertissement :
# Veuillez respecter les droits de propriété intellectuelle et vous conformer aux lois et réglementations en vigueur.

# 注意：

# 若希望将本代码用于商业用途，需先联系作者并获得明确授权。
# 作者不对因使用本代码引发的任何直接或间接损失负责。
# 如有违反上述条款的行为，作者保留追究法律责任的权利。

# 免责声明：
# 请尊重知识产权，遵循相关法律法规。

# Notice:
# If you wish to use this code for commercial purposes, you must contact the author and obtain explicit authorization.
# The author is not responsible for any direct or indirect losses caused by the use of this code.
# If any of the above terms are violated, the author reserves the right to pursue legal action.
# Disclaimer:
# Please respect intellectual property rights and comply with relevant laws and regulations.

# Внимание:
# Если вы хотите использовать этот код в коммерческих целях, вам необходимо связаться с автором и получить явное разрешение.
# Автор не несет ответственности за любые прямые или косвенные убытки, возникшие в результате использования этого кода.
# В случае нарушения вышеуказанных условий автор оставляет за собой право на юридическое преследование.
# Отказ от ответственности:
# Пожалуйста, уважайте интеллектуальную собственность и соблюдайте соответствующие законы и нормативные акты.

# Attention :
# Si vous souhaitez utiliser ce code à des fins commerciales, vous devez contacter l'auteur et obtenir une autorisation explicite.
# L'auteur n'est pas responsable des pertes directes ou indirectes causées par l'utilisation de ce code.
# En cas de violation des conditions ci-dessus, l'auteur se réserve le droit de poursuivre une action en justice.
# Avertissement :
# Veuillez respecter les droits de propriété intellectuelle et vous conformer aux lois et réglementations en vigueur.

# 注意：

# 若希望将本代码用于商业用途，需先联系作者并获得明确授权。
# 作者不对因使用本代码引发的任何直接或间接损失负责。
# 如有违反上述条款的行为，作者保留追究法律责任的权利。

# 免责声明：
# 请尊重知识产权，遵循相关法律法规。

# Notice:
# If you wish to use this code for commercial purposes, you must contact the author and obtain explicit authorization.
# The author is not responsible for any direct or indirect losses caused by the use of this code.
# If any of the above terms are violated, the author reserves the right to pursue legal action.
# Disclaimer:
# Please respect intellectual property rights and comply with relevant laws and regulations.

# Внимание:
# Если вы хотите использовать этот код в коммерческих целях, вам необходимо связаться с автором и получить явное разрешение.
# Автор не несет ответственности за любые прямые или косвенные убытки, возникшие в результате использования этого кода.
# В случае нарушения вышеуказанных условий автор оставляет за собой право на юридическое преследование.
# Отказ от ответственности:
# Пожалуйста, уважайте интеллектуальную собственность и соблюдайте соответствующие законы и нормативные акты.

# Attention :
# Si vous souhaitez utiliser ce code à des fins commerciales, vous devez contacter l'auteur et obtenir une autorisation explicite.
# L'auteur n'est pas responsable des pertes directes ou indirectes causées par l'utilisation de ce code.
# En cas de violation des conditions ci-dessus, l'auteur se réserve le droit de poursuivre une action en justice.
# Avertissement :
# Veuillez respecter les droits de propriété intellectuelle et vous conformer aux lois et réglementations en vigueur.

# 注意：

# 若希望将本代码用于商业用途，需先联系作者并获得明确授权。
# 作者不对因使用本代码引发的任何直接或间接损失负责。
# 如有违反上述条款的行为，作者保留追究法律责任的权利。

# 免责声明：
# 请尊重知识产权，遵循相关法律法规。

# Notice:
# If you wish to use this code for commercial purposes, you must contact the author and obtain explicit authorization.
# The author is not responsible for any direct or indirect losses caused by the use of this code.
# If any of the above terms are violated, the author reserves the right to pursue legal action.
# Disclaimer:
# Please respect intellectual property rights and comply with relevant laws and regulations.

# Внимание:
# Если вы хотите использовать этот код в коммерческих целях, вам необходимо связаться с автором и получить явное разрешение.
# Автор не несет ответственности за любые прямые или косвенные убытки, возникшие в результате использования этого кода.
# В случае нарушения вышеуказанных условий автор оставляет за собой право на юридическое преследование.
# Отказ от ответственности:
# Пожалуйста, уважайте интеллектуальную собственность и соблюдайте соответствующие законы и нормативные акты.

# Attention :
# Si vous souhaitez utiliser ce code à des fins commerciales, vous devez contacter l'auteur et obtenir une autorisation explicite.
# L'auteur n'est pas responsable des pertes directes ou indirectes causées par l'utilisation de ce code.
# En cas de violation des conditions ci-dessus, l'auteur se réserve le droit de poursuivre une action en justice.
# Avertissement :
# Veuillez respecter les droits de propriété intellectuelle et vous conformer aux lois et réglementations en vigueur.

 */
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
//using GoogleMobileAds.Api;
using System;
using UnityEngine.UI;
public class AdsManager : MonoBehaviour
{

    public static AdsManager Instance { get; private set; }

    public bool is_testAd;
    public static string admob_BannerId;
    public static string admob_InterstitialId;
    public static string admob_rewardedId;
    public static string rewardedId;
    //public static BannerView admob_bannerView;
    //private GoogleMobileAds.Api.InterstitialAd admob_interstitial;

    //private RewardBasedVideoAd rewardBasedVideo;


    [HideInInspector]
    public GameObject callBackObj;

    [HideInInspector]
    public string callBackFunction;



    // Start is called before the first frame update
    private void Awake()
    {
        //if (Instance == null)
        //{
        //    Instance = this;
        //    DontDestroyOnLoad(gameObject);
        //}
        //else
        //{
        //    Destroy(gameObject);
        //}

  
    }

    void Start()
    {
        //MobileAds.Initialize(initStatus => { });

//#if !UNITY_EDITOR


//        //Test
//        //if (is_testAd)
//        //    {
//        //        admob_BannerId = "";
//        //        admob_InterstitialId = "ca-app-pub-3940256099942544/1033173712";
//        //        admob_rewardedId = "";

//        //    }
//        //    else
//        //    {
//        //         admob_BannerId = "";
//        //        admob_InterstitialId = "ca-app-pub-3940256099942544/1033173712";
//        //        admob_rewardedId = "";
//        //    }

          
//        //    if (admob_bannerView == null)
//        //        admob_bannerView = new BannerView(admob_BannerId, GoogleMobileAds.Api.AdSize.Banner, GoogleMobileAds.Api.AdPosition.TopLeft);
//        //    admob_interstitial = new GoogleMobileAds.Api.InterstitialAd(admob_InterstitialId);
//        //    AdRequest request = new AdRequest.Builder().Build();

//        //    //// Load the banner with the request.
//        //    admob_bannerView.LoadAd(request);
//        //    admob_interstitial.LoadAd(request);
//        //    admob_bannerView.Hide();



//        //    //Rewarded

//        //    load_rewardedEvent();
//        //    AdRequest request1 = new AdRequest.Builder().Build();
//        //    this.rewardBasedVideo.LoadAd(request1, admob_rewardedId);
//        //ShowBanner();
        
//#endif



    }

    // Update is called once per frame
    void Update()
    {

    }

    public void ShowBanner()
    {
//#if !UNITY_EDITOR
        
//            admob_bannerView.Show();
        
//#endif
    }

    public void HideBanner()
    {
//#if !UNITY_EDITOR
        
//            admob_bannerView.Hide();
    
//#endif
    }

    public void showAdmobInter()
    {
//#if !UNITY_EDITOR
        
//            if (admob_interstitial.IsLoaded())
//            {
//                admob_interstitial.Show();
//            }
           
       


//        admob_interstitial = new GoogleMobileAds.Api.InterstitialAd(admob_InterstitialId);
//        AdRequest request = new AdRequest.Builder().Build();
//        admob_interstitial.LoadAd(request);
//#endif

    }

//    public bool isRewardReady()
//    {
////#if !UNITY_EDITOR
////        return rewardBasedVideo.IsLoaded();
////#else
////        return false;
////#endif
       
//    }


    public void showAdmobVideo()
    {
//#if !UNITY_EDITOR
       
//            if (rewardBasedVideo.IsLoaded())
//            {
//                rewardBasedVideo.Show();
//            }

    

//        AdRequest request1 = new AdRequest.Builder().Build();
//        this.rewardBasedVideo.LoadAd(request1, admob_rewardedId);
//#endif

    }





//    public void HandleRewardBasedVideoRewarded(object sender, Reward args)
//    {
//        callBackObj.SendMessage(callBackFunction);
//#if !UNITY_EDITOR
//                AdRequest request = new AdRequest.Builder().Build();
//                this.rewardBasedVideo.LoadAd(request, admob_rewardedId);    
//#endif

//    }

    public void HandleRewardBasedVideoClosed(object sender, EventArgs args)
    {
//#if !UNITY_EDITOR
//                AdRequest request = new AdRequest.Builder().Build();
//                this.rewardBasedVideo.LoadAd(request, admob_rewardedId);
//#endif

    }

    public void HandleRewardBasedVideoLeftApplication(object sender, EventArgs args)
    {

    }

    

    public void load_rewardedEvent() {
//#if !UNITY_EDITOR
//        this.rewardBasedVideo = RewardBasedVideoAd.Instance;
  
//        rewardBasedVideo.OnAdRewarded += HandleRewardBasedVideoRewarded;
//        rewardBasedVideo.OnAdClosed += HandleRewardBasedVideoClosed;
//        rewardBasedVideo.OnAdLeavingApplication += HandleRewardBasedVideoLeftApplication;
//#endif

    }

    public void destroy_rewardedEvent()
    {
//#if !UNITY_EDITOR
//        rewardBasedVideo.OnAdRewarded -= HandleRewardBasedVideoRewarded;
//        rewardBasedVideo.OnAdClosed -= HandleRewardBasedVideoClosed;
//        rewardBasedVideo.OnAdLeavingApplication -= HandleRewardBasedVideoLeftApplication;
//#endif

    }
}